<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var obj=new Object();
        /*
            向对象中添加属性
            属性名:
                -对象的属性名不强制要求遵守标识符规范
                -但是尽量遵守规范
        */
        obj.name="孙悟空";
        /*
            如果要使用特殊的属性名，不能采用.的方式来操作
            需要用另一种方式：
                语法： 对象["属性名"]=属性值
            读取时也需要采用这种方式

            使用[]这种形式去操作属性更加灵活，
            在[]中可以直接传递一个变量，这样变量值是多少就会读取哪个属性
        */
        obj["123"]=456;
        obj["nihao"]="你好"
        var n="nihao";
        console.log(obj[n]);
        /*
            属性值
            JS对象的属性值，可以是任意的数据类型
                甚至也可以是一个对象
        */
        //创建一个对象
        var obj2=new Object();
        obj2.name="猪八戒";

        //将obj2设置为obj的属性
        obj.test=obj2;
        console.log(obj.test.name);

        /*
            in 运算符
            -通过该运算符可以检查一个对象中是否含有指定的属性
                有则返回true,没有则返回false
            -语法
                "属性名" in 对象
        */
        console.log("text2" in obj);
    </script>
</head>
<body>
    
</body>
</html>